// es6 写法
function flatten(arr) {
    // some() 方法测试数组中是不是至少有1个元素通过了被提供的函数测试。
    // 它返回的是一个Boolean类型的值。
    // every() 方法测试一个数组内的所有元素是否都能通过某个指定函数的测试。
    // 它返回的是一个Boolean类型的值。
    while (arr.some(item => Array.isArray(item))) {
        arr = [].concat(...arr);
    }
}

console.log(flatten([1, 2, [3], [4, [5, [6], 7]]]));
// 待写 递归 方式